package cn.agiledata.bank.myspace.dao;

import cn.agiledata.bank.hibernateBean.PeerBankAccount;

public interface PeerBankAccountDao {

    /**
     * 根据id得到银行联系人
     * 
     * @param accountId
     * @param peerInnerAccountId
     * @return
     */
    public PeerBankAccount getPeerBankAccount(Long id);

    /**
     * 根据当前用户id，银行卡号得到银行联系人
     * 
     * @param accountId
     * @param peerInnerAccountId
     * @return
     */
    public PeerBankAccount getPeerBankAccount(Long accountId, String cardNo);

    /**
     * 保存或者更新银行联系人
     * 
     * @param p
     */
    public void saveOrUpdatePeerBankAccount(PeerBankAccount p);

    /**
     * 删除银行联系人
     * 
     * @param p
     */
    public void deletePeerBankAccount(PeerBankAccount p);

    /**
     * 根据指定账户来源、账户编号和银行卡号获取银行联系人
     * 
     * @param source
     *            账户来源，为null则忽略不计
     * @param accountId
     *            账户编号
     * @param cardNo
     *            银行卡号
     * 
     * @return 银行联系人
     */
    public PeerBankAccount getPeerBankAccount(String source, String accountId,
            String cardNo);

}
